package com.biqee.service.bq;

import java.util.List;

import com.biqee.model.db.BqEstimateResult;
import com.biqee.model.db.BqEstimateResultQueryView;

/**
 * bq_estimate_result 表访问的服务接口
 * @author guotao.tangt
 *
 */
public interface BqEstimateResultService {
	/**
	 * 创建一条新的记录
	 * @param bqEstimateResult
	 * @return
	 */
	public Integer create(BqEstimateResult bqEstimateResult);
	
	/**
	 * 根据 bqTuanId 删除与该团购活动相关联的评价
	 * @param bqEstimateResult
	 * @return
	 */
	public void deleteByBqTuanId(Integer bqTuanId);
	
	/**
	 * 根据网站商品查找相关记录
	 * @param site
	 * @param siteItemId
	 * @return
	 */
	public BqEstimateResult readBySiteItem(Integer bqTuanId, String site, String siteItemId);
	
	/**
	 * 更新指定id的记录的评分为score
	 * @param score
	 * @param id
	 */
	public void updateScoreById(int score, Integer id);
	
	/**
	 * 查询某一团购活动相关的评分大于指定分值的数据，即返回满足：score < destScore 的 destScore
	 * @param score
	 * @param start	从第几条结果开始
	 * @param number 共需要几条数据
	 * @param bqTuanId
	 * @return
	 */
	public List<BqEstimateResultQueryView> readMoreThanList(int score, int start, int number, int bqTuanId);
	
	/**
	 * 查询某一团购活动相关的评分小于指定分值的数据，即返回满足：score > destScore 的 destScore
	 * @param score
	 * @param start	从第几条结果开始
	 * @param number 共需要几条数据
	 * @param bqTuanId
	 * @return
	 */
	public List<BqEstimateResultQueryView> readLessThanList(int score, int start, int number, int bqTuanId);
	
	
	/**
	 * 查询某一团购活动相关的评分介于（包含等于）指定分数之间的数据，即返回满足：lowScore <= score <= highScore 的 score
	 * @param score
	 * @param start	从第几条结果开始
	 * @param number 共需要几条数据
	 * @param bqTuanId
	 * @return
	 */
	public List<BqEstimateResultQueryView> readBetweenList(int lowScore, int highScore, int start, int number, int bqTuanId);
	
	/**
	 * 获取与指定团购活动关联的计算结果，结果按照 score 倒序排序
	 * @param bqTuanId
	 * @return
	 */
	public List<BqEstimateResult> readBqEstimateResultsByBqTuanId(Integer bqTuanId);
}
